阿里云 MaxCompute
所有文档
menu
没有找到结果,请重新输入

PALO

阿里云 MaxCompute

阿里云 MaxCompute

MaxCompute 是阿里云上的企业级 SaaS(Software as a Service)模式云数据仓库。

连接 MaxCompute

示例

-- 1. 创建Catalog。
CREATE CATALOG mc PROPERTIES (
  "type" = "max_compute",
  "mc.default.project" = "xxx",
  "mc.access_key" = "xxxx",
  "mc.secret_key" = "xxx",
  "mc.endpoint" = "http://service.cn-beijing-vpc.MaxCompute.aliyun-inc.com/api"
);

-- 2. 切换到新创建的Catalog下。
SWITCH mc;

-- 下面的步骤就和使用Mysql一样了。

-- 3. 查看该Catalog下所有的数据库。
SHOW DATABASES;

-- 4. 使用数据库, 这里的xxx为第三步展示出来结果的任意一个数据库。
USE xxx;

-- 5. 查看该数据库下所有的表。
SHOW TABLES;

-- 6. 进行SQL查询。
select * from tb  limit 10;

创建 Catalog 的基本属性

参数 说明
type 固定为 max_compute.
mc.default.project 想要访问的 MaxCompute 项目名称。
mc.access_key AccessKey。
mc.secret_key SecretKey。
mc.endpoint MaxCompute 开通的地域。请参照下文的如何获取Endpoint 和 Quota来配置。

创建 Catalog 的可选属性

参数 默认值 说明
mc.quota pay-as-you-go Quota 名称。请参照下文的 如何获取Endpoint 和 Quota 来配置。
mc.split_strategy byte_size 设置 split 的划分方式,可设置为按照字节大小划分 byte_size 和按照数据行数划分 row_count
mc.split_byte_size 268435456 每个 split 读取的文件大小,单位为字节,默认为 256MB,当且仅当 "mc.split_strategy" = "byte_size" 时生效
mc.split_row_count 1048576 每个 split 读多少行,当且仅当 "mc.split_strategy" = "row_count" 时生效

列类型映射

MaxCompute PALO 备注
TINYINT TINYINT
TINYINT TINYINT
SMALLINT SMALLINT
INT INT
BIGINT BIGINT
BINARY 不支持
FLOAT FLOAT
DOUBLE DOUBLE
DECIMAL(precision,scale) DECIMAL(precision,scale)
VARCHAR(n) VARCHAR(n)
CHAR(n) CHAR(n)
STRING STRING
DATE DATE
DATETIME DATETIME(3) 可以通过SET [global] time_zone = 'Asia/Shanghai'来指定时区
TIMESTAMP 不支持
TIMESTAMP_NTZ DATETIME(6) MaxCompute 的 TIMESTAMP_NTZ 精度为 9, PALO 的 DATETIME 最大精度只有 6,故读取数据时会将多的部分直接截断。
BOOLEAN BOOLEAN
ARRAY ARRAY
MAP MAP
STRUCT STRUCT
JSON 不支持

使用须知

  1. 自 2.1.7 版本开始,MaxCompute Catalog 基于 开放存储 SDK 开发。
  2. 开放存储 SDK 的使用有一定的限制,请参照该 文档 中 使用限制 的章节。
  3. MaxCompute 中的 Project 相当于 PALO 中的 DataBase。

如何获取 Endpoint 和 Quota

  1. 如果您使用数据传输服务独享资源组,请参照 使用独享数据服务资源组 章节中的 2.授权 来开启相应的权限,并在 配额(Quota)管理 列表中,查看并复制对应的 QuotaName,指定 "mc.quota" = "QuotaName"。此时您可以选择 VPC / 公网来访问 MaxCompute,但是走 VPC 的带宽有保障,公网带宽资源小。
  2. 如果您使用按量付费,请参照 使用开放存储(按量付费) 的章节,来开启开放存储 (Storage API) 开关,并给 Ak,SK 对应的用户赋予权限。此时您的 mc.quota 为默认值 pay-as-you-go,不需要额外指定该值。此时您只能使用 VPC 来访问 MaxCompute。
  3. 通过第 1/2 步,您已经知道该如何访问 MaxCompute,下面需要根据 阿里云 Endpoints 文档中的 地域Endpoint对照表 来配置 mc.endpoint 。使用 VPC 访问的用户,需要根据 各地域Endpoint对照表(阿里云VPC网络连接方式) 表中的 VPC网络Endpoint 列来配置 mc.endpoint 。使用公网访问的用户,可以选择 各地域Endpoint对照表(阿里云经典网络连接方式) 表中的 经典网络Endpoint 列、或者选择 各地域Endpoint对照表(外网连接方式) 表中的 外网Endpoint 列来配置 mc.endpoint
分析 S3或HDFS 上的文件Elasticsearch